-
Notifications
You must be signed in to change notification settings - Fork 354
Initial OpenACC port of mpas_atm_update_bdy_tend #1301
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Initial OpenACC port of mpas_atm_update_bdy_tend #1301
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The changes make sense and GPU runs of this PR and a reference before these changes match.
I'll hold off on full approval for any changes Michael requests or for any changes to the commit history that may come.
Thanks for the review! I'll address the comments, but just wanted to note that this PR may not be a priority for merging to |
Combining some OpenACC loops and parallel regions. Some whitespace changes. Removing redundant calls to mpas_pool_get_array.
8bc1e96
to
057ee7e
Compare
Addressed the review comments. I did have to rebase with the latest |
rho_zz(:,:) = rho(:,:) / zz(:,:) | ||
!$acc end kernels | ||
|
||
!$acc parallel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we add default(present)
to this parallel
directive (and also to others below)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! Done and I've also converted the kernels
statement to a parallel
region, as it is not a temporary loop. Combining these parallel
regions is a little tricky, so I've left them separate as it was.
Converting acc kernels to an acc parallel region, following earlier discussions to only use kernels directive for temporary code regions. Using the default(present) clauses for parallel regions to be consistent with the rest of the code.
Initial OpenACC port of
mpas_atm_update_bdy_tend
.This port is required to keep
state
andtend
variables from LBCs eventually resident on GPUs.